<?php
include('confing/common.php');

// 设置需要处理的 hid
$hids = [1139];

while (true) {
    foreach ($hids as $hid) {
        try {
            // 从数据库获取订单信息
            $rows = $DB->query("
                SELECT * 
                FROM qingka_wangke_order 
                WHERE dockstatus = 1 
                  AND hid = '{$hid}' 
                  AND status != '已完成' 
                  AND addtime >= NOW() - INTERVAL 7 DAY 
                ORDER BY addtime DESC 
                LIMIT 200
            ");

            if (empty($rows)) {
                echo "hid: {$hid} 没有需要处理的订单\n";
                continue; // 跳过当前 hid，继续处理下一个
            }

            $processedCount = 0; // 记录当前 hid 处理的订单数量

            // 检查订单状态
            foreach ($rows as $row) {
                if ($row['hid'] == 'ximeng') {
                    echo "当前订单接口异常，请去查询补单，hid: {$hid}\n";
                    continue; // 跳过这个订单，继续处理下一个
                } elseif ($row['dockstatus'] == '99') {
                    echo "实时进度无需更新，订单ID为：{$row['oid']}\n";
                    continue; // 跳过这个订单
                }

                // 处理当前订单进度
                $result = processCx($row['oid']); // 使用查询结果中的 oid

                if (empty($result)) {
                    echo "订单ID: {$row['oid']} 处理失败，未返回有效数据\n";
                    continue; // 跳过这个订单
                }

                // 更新数据库中的订单信息
                foreach ($result as $item) {
                    $DB->query("
                        UPDATE qingka_wangke_order 
                        SET 
                            `yid` = '{$item['yid']}', 
                            `status` = '{$item['status_text']}', 
                            `courseStartTime` = '{$item['kcks']}', 
                            `courseEndTime` = '{$item['kcjs']}', 
                            `examStartTime` = '{$item['ksks']}', 
                            `examEndTime` = '{$item['ksjs']}', 
                            `process` = '{$item['process']}', 
                            `remarks` = '{$item['remarks']}' 
                        WHERE 
                            `user` = '{$item['user']}' 
                            AND `kcname` = '{$item['kcname']}' 
                            AND `oid` = '{$row['oid']}'
                    ");
                }

                $processedCount++; // 成功处理一条订单，计数加 1
            }

            // 处理完一个 hid 后，输出总处理条数
            echo "已经处理 hid: {$hid} 条，共 {$processedCount} 条等待30秒后自动处理下一个\n";
            flush(); // 将输出缓冲区的内容发送给客户端
            ob_flush(); // 刷新输出缓冲区
        } catch (Exception $e) {
            echo "处理 hid: {$hid} 时发生错误: " . $e->getMessage() . "\n";
        }

        // 等待30秒再处理下一个 hid
        sleep(60);
    }
}
?>
